package com.ssy.lingxi.member.merchant.model.vo.manage.request;

import com.ssy.lingxi.common.model.vo.PageVO;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;

/**
 * 分页查询会员接口参数VO
 * @author 万宁
 * @version 2.0.0
 * @date 2020-09-16
 */
public class MarketingSuitablePageVO extends PageVO implements Serializable {
    private static final long serialVersionUID = 4167326811716093051L;

    /**
     * 会员id
     */
    private Long memberId;

    /**
     * 会员名称
     */
    private String name;

    /**
     * 会员类型枚举
     */
    private Integer memberTypeEnum;

    /**
     * 会员等级
     */
    private Integer level;

    /**
     * 适用会员类型
     */
    private Integer suitableMemberType;

    /**
     * 成为会员时间开始
     */
    private String becomeTimeStart;

    /**
     * 成为会员时间结束
     */
    private String becomeTimeEnd;

    /**
     * 适用会员等级类型(会员等级id)
     */
    @NotEmpty(message = "适用会员等级类型不能为空")
    private List<Long> suitableMemberLevelTypes;

    /**
     * 会员id和角色id数组
     */
    private List<MemberAndRoleIdVO> excludeMemberList;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getMemberTypeEnum() {
        return memberTypeEnum;
    }

    public void setMemberTypeEnum(Integer memberTypeEnum) {
        this.memberTypeEnum = memberTypeEnum;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getSuitableMemberType() {
        return suitableMemberType;
    }

    public void setSuitableMemberType(Integer suitableMemberType) {
        this.suitableMemberType = suitableMemberType;
    }

    public String getBecomeTimeStart() {
        return becomeTimeStart;
    }

    public void setBecomeTimeStart(String becomeTimeStart) {
        this.becomeTimeStart = becomeTimeStart;
    }

    public String getBecomeTimeEnd() {
        return becomeTimeEnd;
    }

    public void setBecomeTimeEnd(String becomeTimeEnd) {
        this.becomeTimeEnd = becomeTimeEnd;
    }

    public List<Long> getSuitableMemberLevelTypes() {
        return suitableMemberLevelTypes;
    }

    public void setSuitableMemberLevelTypes(List<Long> suitableMemberLevelTypes) {
        this.suitableMemberLevelTypes = suitableMemberLevelTypes;
    }

    public List<MemberAndRoleIdVO> getExcludeMemberList() {
        return excludeMemberList;
    }

    public void setExcludeMemberList(List<MemberAndRoleIdVO> excludeMemberList) {
        this.excludeMemberList = excludeMemberList;
    }
}
